# _*_ utf-8 _*_
# 列表的学习，学习列表的简单使用
import random
"""
列表：列表是一个用list类定义的序列，包括创建、操作、处理列表的方法
     列表中的元素可以通过下标来访问
"""
# 创建列表的几种方式
lst1 = list()           # 实例化一个列表对象
lst2 = []               # 实例化一个空的列表对象
lst3 = list("金木水火土")    # 会创建一个带有5个字符元素的列表，元素个数就是字符串的字符个数
print(lst3)
lst4 = list(x for x in range(0, 11) if x % 2 == 0)  # 可以使用推导式进行创建对象
print(lst4)
lst5 = ["金木水火土", "2"]
print(lst5[1])

lst6 = list(10 for _ in range(10))  # 创建包含十个10的元素列表
print(lst6)
"""
    使用列表的注意点：
    1、python中的列表一般不用考虑最大容量
    2、列表中既可以包含同类型的元素，也可以包含不同类型的元素
        列如：list1 = [1,"大桥",2,"小桥",3,"寸金莲",4,"寸腰"]
    在python中列表是任何元素的序列，字符串也是一个字符序列
    常用的操作有：
        x in list | x not in list
        list * n, list1 + list2
        list[i], list[i:j]
        len(list)
        min,max,sum
        运算符：< <= > >= = !=
"""
list1 = [x for x in range(10)]
print("2 是否在 list1中：", 2 in list1)
# 求list1中最大，最小，求和
print("list1 中的最大值为{},最小值为：{},list1中元素的和为：{}".format(max(list1), min(list1), sum(list1)))
# list1 * n

print(list1 * 2)
list2 = [2 for _ in range(5)]

print("list1 + list2 = ", list1 + list2)
random.shuffle(list1)
print("list1 乱序后的结果为：", list1)
list1.sort()
print("排序后的结果为：", list1)
print("list1 pop一个元素：", list1.pop(1))
# 使用字符串的裁剪
str1 = "窗含西邻千秋雪，门泊东吴万里船"
list3 = str1.split("，")
print("str1 裁剪后的结果为：", list3)
# 也可以一次性接收多个输入的值
content = input("请输入多个数字，使用空格进行隔开：")
str_num = content.split(" ")
num_list = [eval(x) for x in str_num]
print("用户输入的数字为：", num_list)





